]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
2 years agost/bin: Stop implementing a ClutterContainer
Zander Brown [Wed, 8 Nov 2023 07:57:27 +0000 (07:57 +0000)]
st/bin: Stop implementing a ClutterContainer

Instead we react to ::actor-{added,removed} and delegate to ClutterActor

Code should still interact with :child rather than {add,remove)_child(),
but at least we now avoid the footgun where the different APIs did
different things

Fix: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3172
Fix: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2661
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3010>

2 years agoscreenshot: Don't abuse StButton
Zander Brown [Wed, 8 Nov 2023 10:50:02 +0000 (10:50 +0000)]
screenshot: Don't abuse StButton

It's an StBin, so can only have one child, yet we are adding multiple —
something we get away with by overriding allocate

Instead of doing that, move the content to it's own actor

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3010>

2 years agost/scroll-view: Stop implementing ClutterContainer
Zander Brown [Wed, 8 Nov 2023 07:36:30 +0000 (07:36 +0000)]
st/scroll-view: Stop implementing ClutterContainer

Instead, listen to ::actor-{added,removed} allowing ClutterActor's
regular add/remove API to work as expected — at least so long only one
child is added

We also no longer inherit StBin as we actually have up to three
children (including the two scrollbars), but by implementing :child
ourselves the API seen by JS is unchanged

Fix: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2661
Fix: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3172
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3010>

2 years agost: Adjust to ClutterBinAlignment removal
Florian Müllner [Thu, 9 Nov 2023 23:08:24 +0000 (00:08 +0100)]
st: Adjust to ClutterBinAlignment removal

The custom alignment property was removed, so the convenience
constructor lost the corresponding parameters.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3013>

3 years agokeyboard: Fix backspace not getting released after deleting preedit
Sebastian Keller [Wed, 8 Nov 2023 09:46:52 +0000 (10:46 +0100)]
keyboard: Fix backspace not getting released after deleting preedit

When deleting is toggled while a preedit string is present, this causes
_toggleDelete() to use keyvalPress(). After the entire preedit string
has been deleted, _toggleDelete() will no longer hit the code path that
would call keyvalRelease() due to hasPreedit() now being false.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7171
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3009>

3 years agost/texture-cache: Always close GdkPixbufLoader before disposal
Barnabás Pőcze [Sun, 5 Nov 2023 01:49:34 +0000 (02:49 +0100)]
st/texture-cache: Always close GdkPixbufLoader before disposal

As per the warning emitted when destroying without closing first

  GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed.
  You must explicitly end the data stream to the loader before dropping the last reference.

closing it is necessary.

Create the GdkPixbufLoader after loading the file contents so that
the loader is guaranteed to be closed before it is destroyed.
(`gdk_pixbuf_loader_write()` closes it on failure.)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3008>

3 years agonetworkAgent: Fetch environment from launch context before spawn_async()
Carlos Garnacho [Thu, 26 Oct 2023 14:04:46 +0000 (16:04 +0200)]
networkAgent: Fetch environment from launch context before spawn_async()

This will fetch the right environment for the launched application,
without using GNOME Shell's environment.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2993>

3 years agomisc: Fetch environment from launch context before spawn_async()
Carlos Garnacho [Thu, 26 Oct 2023 14:03:44 +0000 (16:03 +0200)]
misc: Fetch environment from launch context before spawn_async()

This will fetch the right environment for the launched application,
without using GNOME Shell's environment.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2993>

3 years agosearch: Allow grid using search providers to specify maximum of results
Sebastian Keller [Wed, 1 Nov 2023 17:15:22 +0000 (18:15 +0100)]
search: Allow grid using search providers to specify maximum of results

When GridSearchResults::_getMaxDisplayedResults() is called after the
first character has been entered in the search, GridSearchResults has
no children yet. _getMaxDisplayedResults() tries to determine the
maximum number of search results based on how often the largest child
would fit into the allocated size or -1 (i.e. no limit) if there are no
children. So for the initial search there is no limit and in the app
search all matching apps get added as possible results, which due to the
search term being only a single character is almost all installed apps.
This now causes allocation to be run for all these results, despite the
vast majority of them never being visible, which on slower machines can
cause noticeable delays before the search results are displayed.

This now adds the ability for search providers to specify a maximum
number of results that gets used instead of -1 when specified. By being
provider specific this means extensions implementing their own providers
will not be affected by this.

Further this sets the maximum for the app search provider to 6 as per
the current designs.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7155
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3004>

3 years agopopupMenu: Only connect to notify::key-focus when needed
Sebastian Keller [Mon, 30 Oct 2023 10:18:25 +0000 (11:18 +0100)]
popupMenu: Only connect to notify::key-focus when needed

PopupMenuManager was connecting to notify::key-focus on the stage on
construction, but only ever reacting to it when one of its menus was
open. Given that every single app icon and text entry creates a
PopupMenuManager this was causing a lot of these handlers to be created.
Every single handler meant calling into JS code only for the vast
majority of them to determine that they would not do anything.

Additionally these handlers were leaked for the whole lifetime of the
stage due to never getting disconnected.

This now only connects the handler when a menu is open and disconnects
again when it is closed, significantly reducing the number of active
handlers at a time.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7143
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3001>

3 years agoshell/screenshot: Use MtkRegion
Robert Mader [Fri, 3 Nov 2023 15:20:24 +0000 (16:20 +0100)]
shell/screenshot: Use MtkRegion

Remove the last user of cairo_region_t in favor of MtkRegion, fixing a
build warning.

3 years agoconfig: Add missing semicolon
Florian Müllner [Thu, 2 Nov 2023 16:50:04 +0000 (17:50 +0100)]
config: Add missing semicolon

The .in file isn't valid javascript, so it's excluded from eslint
and style issues like this can slip through.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3005>

3 years agoRevert "shell/window-tracker: Exclude screen recorder window"
Sebastian Keller [Mon, 30 Oct 2023 11:54:21 +0000 (12:54 +0100)]
Revert "shell/window-tracker: Exclude screen recorder window"

This reverts commit 575ba13b9b4efa40f07d57d87d50d8f0466f2e16.

That commit did not actually prevent the "Unknown" application from
showing up in the dash or app switcher when the recorder was running,
but it introduced a problem with Proton which also uses gstreamer OpenGL
elements in its transcoder. This was causing the overview to get stuck
while the transcoder was running due to the app for the
"OpenGL Renderer" window being null.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7042
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3000>

3 years agost: Use correct type for CoglTexture
Bilal Elmoussaoui [Tue, 19 Sep 2023 19:09:01 +0000 (21:09 +0200)]
st: Use correct type for CoglTexture

No idea how come CoglPipeline was used here but the fact that everything
was a CoglHandle, made things just work despite being wrong?

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2964>

3 years agost: Adapt to CoglObject removal
Bilal Elmoussaoui [Tue, 19 Sep 2023 18:31:56 +0000 (20:31 +0200)]
st: Adapt to CoglObject removal

Also use more memory management macro helpers

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2964>

3 years agoUpdate Portuguese translation
Hugo Carvalho [Thu, 26 Oct 2023 22:09:31 +0000 (22:09 +0000)]
Update Portuguese translation

(cherry picked from commit 92780927cdb07f37d2d41f70cabe6152b92ce214)

3 years agost: Stop using Clutter cairo helpers
Bilal Elmoussaoui [Tue, 18 Jul 2023 13:50:48 +0000 (15:50 +0200)]
st: Stop using Clutter cairo helpers

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2808>

3 years agoui/environment: Add a setSourceColor helper
Bilal Elmoussaoui [Tue, 18 Jul 2023 13:51:25 +0000 (15:51 +0200)]
ui/environment: Add a setSourceColor helper

To simplify porting away from Clutter cairo helpers

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2808>

3 years agoAdapt to Clutter -> Cogl pixel format
Bilal Elmoussaoui [Tue, 18 Jul 2023 13:48:44 +0000 (15:48 +0200)]
Adapt to Clutter -> Cogl pixel format

As the pixel format made more sense to be part of CoglPixelFormat and
was moved there

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2808>

3 years agoshell-app: Make recent all app windows on the target workspace
Sebastian Wick [Mon, 9 Oct 2023 22:13:40 +0000 (00:13 +0200)]
shell-app: Make recent all app windows on the target workspace

meta_window_raise_and_make_recent_on_workspace now works on a target
workspace instead of the active workspace. We call this before another
workspace is made active so the previous behavior made the window the
MRU window on the wrong workspace. If an app got activated and one
window closed, the stacking and focus diverged.

Related: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3315
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2991>

3 years agoUpdate Serbian translation
Марко Костић [Tue, 24 Oct 2023 04:04:29 +0000 (04:04 +0000)]
Update Serbian translation

(cherry picked from commit acf5593bf86fc7c9ca015bada2535978c3007b13)

3 years agocalendar: Emit selected-date-changed before rebuilding the calendar
Sebastian Keller [Sun, 22 Oct 2023 23:06:59 +0000 (01:06 +0200)]
calendar: Emit selected-date-changed before rebuilding the calendar

If the cursor was placed on one of the widgets that get removed when
rebuilding the calendar due to a month change, destroying the hovered
widget will trigger a repick. This repick can then trigger an allocation
while not all buttons of the calendar are present.

If the last allocation before selected-date-changed is emitted was from
such an incomplete state, DateMenuButton will still freeze the layout in
this state in its signal handler.

What freezing the layout in DateMenuButton is supposed to do is to
prevent size changes of the menu when changing days, but for this the
layout needs to be frozen before potentially rebuilding calendar. This
change ensures that by emitting the signal earlier.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5411
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5469
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2989>

3 years agoUpdate Russian translation
Artur S0 [Sun, 22 Oct 2023 16:04:07 +0000 (16:04 +0000)]
Update Russian translation

3 years agodash: Update comment
Alessandro Bono [Sun, 15 Jan 2023 13:38:57 +0000 (14:38 +0100)]
dash: Update comment

The dash is at the bottom of the overview now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2988>

3 years agodash: Move item declaration on top
Alessandro Bono [Sun, 15 Jan 2023 13:31:08 +0000 (14:31 +0100)]
dash: Move item declaration on top

Otherwise it is not clear what is the item variable that we are
passing to _itemMenuStateChanged().

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2988>

3 years agoscreenShield: Use duration 0 when not animating
Alessandro Bono [Sat, 21 Oct 2023 11:42:13 +0000 (13:42 +0200)]
screenShield: Use duration 0 when not animating

Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c85312f571e14abe69bb6674a361c16d65 we are sure that
duration 0 is always preserved.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>

3 years agopopupMenu: Use duration 0 when not animating
Alessandro Bono [Sat, 21 Oct 2023 11:31:42 +0000 (13:31 +0200)]
popupMenu: Use duration 0 when not animating

Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c85312f571e14abe69bb6674a361c16d65 we are sure that
duration 0 is always preserved.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>

3 years agomessageTray: Use duration 0 when not animating
Alessandro Bono [Sun, 15 Jan 2023 12:18:26 +0000 (13:18 +0100)]
messageTray: Use duration 0 when not animating

Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c85312f571e14abe69bb6674a361c16d65 we are sure that
duration 0 is always preserved.

In the not animate case, we now call this._updateState(). This was not
happening before.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>

3 years agomessageList: Use duration 0 when not animating
Alessandro Bono [Sun, 15 Jan 2023 12:12:18 +0000 (13:12 +0100)]
messageList: Use duration 0 when not animating

Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c85312f571e14abe69bb6674a361c16d65 we are sure that
duration 0 is always preserved.

In the not animate case, we now call this._actionBin.hide(). This was not
happening before.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>

3 years agojs: Export variables and classes for Workspace Matrix extension
Martin Zurowietz [Fri, 20 Oct 2023 18:36:06 +0000 (20:36 +0200)]
js: Export variables and classes for Workspace Matrix extension

Most of these were "var" before the port to ESM (!1499). Here they
are exported again.

References !1499

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2978>

3 years agoUpdate Georgian translation
Ekaterine Papava [Wed, 18 Oct 2023 20:47:04 +0000 (20:47 +0000)]
Update Georgian translation

3 years agostyle: Always use light text for recording indicator
Georges Basile Stavracas Neto [Wed, 18 Oct 2023 18:26:05 +0000 (15:26 -0300)]
style: Always use light text for recording indicator

The red tone that the recording indicator uses as background doesn't
lend itself well to dark text and icon on top. Stick to a light color.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7112
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2983>

3 years agowelcomeDialog: Adapt dialog title
Florian Müllner [Wed, 27 Oct 2021 13:18:20 +0000 (15:18 +0200)]
welcomeDialog: Adapt dialog title

Use the downstream OS info if it's available, instead of hardcoding
the GNOME release.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7026
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2962>

3 years agoUpdate Romanian translation
Daniel Șerbănescu [Wed, 18 Oct 2023 18:23:13 +0000 (18:23 +0000)]
Update Romanian translation

3 years agoUpdate German translation
Jürgen Benvenuti [Wed, 18 Oct 2023 17:54:37 +0000 (17:54 +0000)]
Update German translation

3 years agoUpdate Occitan translation
Quentin PAGÈS [Wed, 18 Oct 2023 16:00:30 +0000 (16:00 +0000)]
Update Occitan translation

3 years agowelcomeDialog: Rename "No Thanks" button label to "Skip"
Automeris naranja [Thu, 21 Sep 2023 15:06:42 +0000 (12:06 -0300)]
welcomeDialog: Rename "No Thanks" button label to "Skip"

"Skip" is a more accurate label for the current "No Thanks" button.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3951

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2963>

3 years agoUpdate Greek translation
Efstathios Iosifidis [Mon, 16 Oct 2023 18:59:00 +0000 (18:59 +0000)]
Update Greek translation

3 years agoUpdate Greek translation
Evangelos Skarmoutsos [Mon, 16 Oct 2023 18:12:35 +0000 (18:12 +0000)]
Update Greek translation

(cherry picked from commit 5580bd79a9476a35b89072cda665cf4314becfb1)

3 years agoUpdate Norwegian Bokmål translation
Brage Fuglseth [Sun, 15 Oct 2023 19:13:33 +0000 (19:13 +0000)]
Update Norwegian Bokmål translation

3 years agoUpdate Norwegian Bokmål translation
Brage Fuglseth [Wed, 11 Oct 2023 15:31:33 +0000 (15:31 +0000)]
Update Norwegian Bokmål translation

3 years agoworkspaceAnimation: Handle DESKTOP windows
Sundeep Mediratta [Wed, 11 Oct 2023 10:19:22 +0000 (06:19 -0400)]
workspaceAnimation: Handle DESKTOP windows

Windows of type DESKTOP are currently handled like all other sticky
windows, and stick to the monitor while the animation happens in the
background.

This behavior is odd for desktop windows, which are otherwise always
kept underneath regular windows.

Instead, make them part of the background, so they keep the expected
stacking position and animate together with the workspace.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2865>

3 years agoUpdate Romanian translation
Florentina Mușat [Mon, 9 Oct 2023 19:43:33 +0000 (19:43 +0000)]
Update Romanian translation

3 years agoUpdate Korean translation
Changwoo Ryu [Sat, 7 Oct 2023 13:13:12 +0000 (13:13 +0000)]
Update Korean translation

3 years agoUpdate Turkish translation
Sabri Ünal [Sat, 7 Oct 2023 06:37:11 +0000 (06:37 +0000)]
Update Turkish translation

3 years agost/scroll-view: Use clutter_actor_get_effect() to get fade effect
Sebastian Keller [Mon, 2 Oct 2023 12:36:33 +0000 (14:36 +0200)]
st/scroll-view: Use clutter_actor_get_effect() to get fade effect

Storing the pointer to the fade effect only works as long as we control
all the code that can modify the effects of an actor, but this is not
the case in the presence of extensions. Apparently some extension
manages to remove the effect, which leads to fade_effect pointing to
some invalid address by the time dispose is called, leading to a crash.

This instead uses clutter_actor_get_effect() to get the effect when it
is needed to avoid crashing in these situations.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6521
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2974>

3 years agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Thu, 5 Oct 2023 08:04:13 +0000 (08:04 +0000)]
Update Chinese (Taiwan) translation

3 years agolayout: Destroy panel barrier on shutdown
Daniel van Vugt [Tue, 3 Oct 2023 07:00:45 +0000 (15:00 +0800)]
layout: Destroy panel barrier on shutdown

It was being leaked, which is detected on mutter shutdown.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3011
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2975>

3 years agoUpdate Turkish translation
Sabri Ünal [Sun, 1 Oct 2023 18:29:47 +0000 (18:29 +0000)]
Update Turkish translation

3 years agoUpdate Georgian translation
Ekaterine Papava [Sat, 30 Sep 2023 12:47:03 +0000 (12:47 +0000)]
Update Georgian translation

3 years agooverview: Handle unredirection in OverviewShown state machine
robert.mader@collabora.com [Tue, 26 Sep 2023 23:10:45 +0000 (01:10 +0200)]
overview: Handle unredirection in OverviewShown state machine

Under certain unknown circumstances currently not every
`disable_unredirect_for_display()` gets matched with an
`enable_unredirect_for_display()` when closing the overview.

As we only want to not disable unredirection when hidden and we nowadays
have a state machine that ensures we transition to and from one state to
another only once, handle unredirection en-/disablement as part of the
state transition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2970>

3 years agoUpdate Friulian translation
Fabio Tomat [Tue, 26 Sep 2023 09:46:19 +0000 (09:46 +0000)]
Update Friulian translation

3 years agostatus/system: Use Intl to format battery percentage
Florian Müllner [Thu, 21 Sep 2023 18:55:31 +0000 (20:55 +0200)]
status/system: Use Intl to format battery percentage

The exact way of formatting a percentage value is locale specific:
https://en.wikipedia.org/wiki/Percent_sign#Correct_style.

We account for that by marking the string for translations, but then
get it wrong for the default US locale (go us!).

But given that the javascript engine itself provides us with a way
of formatting a percentage in a locale-specific way, that seems the
better option than putting the burden on our own developers and
translators.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7005
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2966>

3 years agoslider: Ignore left/right scroll directions
Carlos Garnacho [Fri, 22 Sep 2023 11:21:32 +0000 (13:21 +0200)]
slider: Ignore left/right scroll directions

Both of these ended up with a "undefined" delta, which turned
the final value into 0 no matter the previous state.

While this was already fixed for touchpads in the previous commit
(by not forwarding emulated discrete events), this looks somewhat
out of place even for the mice that have left/right discrete scroll
actions (e.g. tilting the scroll wheel left or right).

Let these unhandled directions have a delta of 0, and focus on
vertical scroll for both smooth and discrete events.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2967>

3 years agoslider: Fix check for emulated scroll events
Carlos Garnacho [Fri, 22 Sep 2023 11:16:59 +0000 (13:16 +0200)]
slider: Fix check for emulated scroll events

The name given by g-i is actually FLAG_POINTER_EMULATED, this
made the check slightly ineffective, handling both real and
emulated events in the case of touchpad scrolling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2967>

3 years agoUpdate Catalan translation
Jordi Mas [Tue, 19 Sep 2023 18:09:10 +0000 (20:09 +0200)]
Update Catalan translation

3 years agoBump version to 45.0
Florian Müllner [Sat, 16 Sep 2023 16:57:20 +0000 (18:57 +0200)]
Bump version to 45.0

Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2960>

3 years agoextensions-app: Update metainfo screenshots
Florian Müllner [Sat, 16 Sep 2023 18:26:39 +0000 (20:26 +0200)]
extensions-app: Update metainfo screenshots

With the new libadwaita widgets, the overall look has changed,
so it's time to retake the screenshots.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2960>

3 years agoshell/window-tracker: Exclude screen recorder window
Florian Müllner [Thu, 14 Sep 2023 16:47:32 +0000 (18:47 +0200)]
shell/window-tracker: Exclude screen recorder window

The pipeline contains a GST plugin that pops up an unclosable
zero-sized window.

Unfortunately we did not manage to come up with a proper fix
in time, so for now explicitly exclude it from app tracking.

This does not address all issues (it still prevents the
window's workspace from getting removed, even when it appears
empty), but at least it avoids the most confusing effect by
preventing the "app" from showing up in dash, alt-tab etc.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6763

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2956>

3 years agoUpdate Russian translation
Artur S0 [Sat, 16 Sep 2023 08:57:30 +0000 (08:57 +0000)]
Update Russian translation

3 years agoUpdate Latvian translation
Rūdolfs Mazurs [Sat, 16 Sep 2023 06:18:55 +0000 (06:18 +0000)]
Update Latvian translation

3 years agoextensions: Fix ngettext convenience
Florian Müllner [Fri, 15 Sep 2023 13:06:05 +0000 (15:06 +0200)]
extensions: Fix ngettext convenience

It is hooked up to the extension's 'gettext' function rather
than 'ngettext'.

Fixes: f59d523694 ("extensions: Add static defineTranslationFunctions() method")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2952>

3 years agoslider: Reverse handle direction in RTL
Khalid Abu Shawarib [Wed, 6 Sep 2023 13:30:19 +0000 (16:30 +0300)]
slider: Reverse handle direction in RTL

Rework slider handle to reverse directions when the slider is
Right-to-Left.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5107
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2943>

3 years agobarLevel: Reverse direction in RTL
Khalid Abu Shawarib [Wed, 6 Sep 2023 11:33:10 +0000 (14:33 +0300)]
barLevel: Reverse direction in RTL

Rework drawing and calculations to reverse the bar direction
when the bar is Right-to-Left.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2943>

3 years agoextensionSystem: Update immediately after major upgrades
Florian Müllner [Thu, 14 Sep 2023 18:30:39 +0000 (20:30 +0200)]
extensionSystem: Update immediately after major upgrades

Currently we periodically check for updated extensions, prepare
an update and perform it at the next login.

This is largely due to the fact that once an extension has been
loaded, its code is cached and reloading it would only make it
*appear* as updated, while in reality still running the old code.

Of course this only applies *once* we have loaded extensions.

Before that, it's possible to download and install updates, and
only then initialize extensions with their latest version.

The trade-off is that network requests, data download and extraction may
introduce a significant delay before extensions
are enabled. Most extensions modify the UI one way or another,
so that delay would likely be noticeable by the user.

Assuming that users are usually happy enough with the current
extension version, that trade-off doesn't seem worthwhile.

However there is an exception: After a major version update,
extensions are likely disabled as out-of-date, or at least
more likely to break (when the version check is disabled).

In that case delaying extension initialization to download
and install updates looks like the better trade-off, so do
that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2951>

3 years agoUpdate Esperanto translation
Carmen Bianca BAKKER [Thu, 14 Sep 2023 20:58:35 +0000 (20:58 +0000)]
Update Esperanto translation

3 years agoibusManager: Add missing environment variables required to launch ibus-daemon
xiaofan [Sun, 10 Sep 2023 07:56:33 +0000 (09:56 +0200)]
ibusManager: Add missing environment variables required to launch ibus-daemon

IBus requires XAUTHORITY and XDG_RUNTIME_DIR to be able to spawn its XIM
implementation correctly. Using launch context to get environment can correctly
launch on non-systemd setups.

Closes: #6998
Signed-off-by: xiaofan <xiaofan@iscas.ac.cn>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2947>

3 years agomain: Remove transitions from child adjustments
Florian Müllner [Mon, 11 Sep 2023 12:00:24 +0000 (14:00 +0200)]
main: Remove transitions from child adjustments

When commit 4d963c432b introduced the global workspace adjustment,
it mostly copied the adjustment handling from the overview that it
set out to replace.

That includes cancelling ongoing transitions when the number of
workspaces changed. However that missed that transitions don't
happen on the main adjustment, but on the "child" adjustments
returned from `createWorkspacesAdjustment()`.

Address this by tracking all child adjustments, and cancel transitions
there as well when necessary. Use weak refs to not
interfere with garbage collection, in case an extension creates
its own child adjustment.

Fixes: 4d963c432b ("main: Introduce global workspaces adjustment")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7000
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2949>

3 years agoUpdate French translation
Irénée THIRION [Mon, 11 Sep 2023 23:12:12 +0000 (23:12 +0000)]
Update French translation

3 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Mon, 11 Sep 2023 14:36:47 +0000 (14:36 +0000)]
Update Brazilian Portuguese translation

3 years agoUpdate Slovenian translation
Matej Urbančič [Mon, 11 Sep 2023 13:56:13 +0000 (13:56 +0000)]
Update Slovenian translation

3 years agoUpdate Brazilian Portuguese translation
Rafael Fontenelle [Mon, 11 Sep 2023 13:50:36 +0000 (13:50 +0000)]
Update Brazilian Portuguese translation

(cherry picked from commit 5e052b227c6b605a2792976707f82d0ba22d4427)

3 years agojs: Fix calendar scroll
Hollow Man [Sat, 9 Sep 2023 12:05:27 +0000 (14:05 +0200)]
js: Fix calendar scroll

Update to Clutter.Event getter methods in Clutter.Actor vfuncs
as the old way no longer works

Related to https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872

Signed-off-by: Hollow Man <hollowman@opensuse.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2946>

3 years agoUpdate Catalan translation
Jordi Mas [Sat, 9 Sep 2023 01:50:45 +0000 (03:50 +0200)]
Update Catalan translation

3 years agokeyboard: Only reset to the default level on unlocked latched levels
Carlos Garnacho [Fri, 8 Sep 2023 17:01:29 +0000 (19:01 +0200)]
keyboard: Only reset to the default level on unlocked latched levels

Reportedly, non-alphanumeric key levels were able to stick by
happenstance, and let the user press multiple keys until explicitly
switching to a different mode. Reportedly, this broke, switching to
the default level after the first key press on the additional levels.

Since we have this information in the OSK key models (each level has
a "mode" field to either default/latched/locked), retrieve this
information for them for each level, and only reset to the default
level if on one of those latched levels, and the relevant key was not
locked through long-press.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5763
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2945>

3 years agokeyboard: Reset latched levels on string commit on all situations
Carlos Garnacho [Fri, 8 Sep 2023 16:51:34 +0000 (18:51 +0200)]
keyboard: Reset latched levels on string commit on all situations

The _commitAction() paths have early returns, which made resetting the
latched mode inconsistent depending on the paths taken to commit the
string. This made latched modes not return to normal on e.g. Shell
entries.

Make this happen outside the function, and after the only calling
point, so that the level is correctly reset on all situations.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2945>

3 years agoscreenshot: Only handle mode-switch shortcut when supported
Florian Müllner [Thu, 7 Sep 2023 16:00:21 +0000 (18:00 +0200)]
screenshot: Only handle mode-switch shortcut when supported

We currently handle the 'v' key to switch between recording- and
screenshot mode regardless of whether screen recordings are
supported.

This is clearly wrong, don't do that.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6990

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2944>

3 years agoscreenshot: Do not wrongly enable window button
Florian Müllner [Thu, 7 Sep 2023 15:59:03 +0000 (17:59 +0200)]
screenshot: Do not wrongly enable window button

The window button is disabled when
 - there are no windows
 - we are in screen-recording mode
 - the session mode doesn't allow windows

However the last condition is only taken into account when
opening the dialog, but not when switching from recording-
to screenshot mode.

Address this by updating the button's sensitivity in a separate
function, so the different conditions are considered consistently.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6990

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2944>

3 years agoUpdate Swedish translation
Anders Jonsson [Wed, 6 Sep 2023 22:11:10 +0000 (22:11 +0000)]
Update Swedish translation

3 years agoBump version to 45.rc
Florian Müllner [Tue, 5 Sep 2023 10:37:15 +0000 (12:37 +0200)]
Bump version to 45.rc

Update NEWS.

3 years agoworkspaceThumbnail: Expose maxThumbnailScale as property
Florian Müllner [Fri, 11 Aug 2023 22:32:35 +0000 (00:32 +0200)]
workspaceThumbnail: Expose maxThumbnailScale as property

Some extensions want to modify the value of the MAX_THUMBNAIL_SCALE
constant. That is no longer possible, as exports are always read-only
from the outside.

Make this possible again by exposing the scale as a property on the
object itself, so extensions can override it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2939>

3 years agoUpdate British English translation
Bruce Cowan [Wed, 6 Sep 2023 11:04:14 +0000 (11:04 +0000)]
Update British English translation

3 years agost/icon: Fix documentation typo
Bryan Ricker [Wed, 6 Sep 2023 00:12:04 +0000 (17:12 -0700)]
st/icon: Fix documentation typo

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2940>

3 years agoUpdate Hungarian translation
Balázs Úr [Tue, 5 Sep 2023 17:28:33 +0000 (17:28 +0000)]
Update Hungarian translation

3 years agostatus/backgroundApps: Filter out unknown apps
Florian Müllner [Tue, 5 Sep 2023 15:08:38 +0000 (17:08 +0200)]
status/backgroundApps: Filter out unknown apps

While extremely rare, flatpak apps are not guaranteed to provide
a .desktop file.

We don't have anything to represent the app in that case, but at
least we shouldn't break when trying to access properties on null,
so filter out these entries.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6913

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2938>

3 years agoUpdate Italian translation
Milo Casagrande [Tue, 5 Sep 2023 11:35:55 +0000 (11:35 +0000)]
Update Italian translation

3 years agoUpdate Danish translation
Alan Mortensen [Mon, 4 Sep 2023 05:42:41 +0000 (05:42 +0000)]
Update Danish translation

3 years agoUpdate Galician translation
Fran Dieguez [Sun, 3 Sep 2023 19:40:06 +0000 (19:40 +0000)]
Update Galician translation

3 years agoUpdate Dutch translation
Nathan Follens [Sun, 3 Sep 2023 13:43:45 +0000 (13:43 +0000)]
Update Dutch translation

3 years agoUpdate Kazakh translation
Baurzhan Muftakhidinov [Sun, 3 Sep 2023 03:20:51 +0000 (03:20 +0000)]
Update Kazakh translation

3 years agoappDisplay: Add Pardus apps to default folder list
aliriza [Wed, 9 Aug 2023 07:49:40 +0000 (07:49 +0000)]
appDisplay: Add Pardus apps to default folder list

Those are distro-specific apps like YaST on Suse.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2875>

3 years agoUpdate Punjabi translation
A S Alam [Sat, 2 Sep 2023 15:56:41 +0000 (15:56 +0000)]
Update Punjabi translation

3 years agost/types: Remove StAlign
Florian Müllner [Thu, 21 May 2020 13:18:24 +0000 (15:18 +0200)]
st/types: Remove StAlign

The last code that used the type was removed in commit 0ab34fe21f6
over three years ago, whoops.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2936>

3 years agoUpdate Korean translation
Changwoo Ryu [Sat, 2 Sep 2023 06:12:01 +0000 (06:12 +0000)]
Update Korean translation

3 years agopopupMenu: Allow to use the up and down arrows to wrap around
Lukáš Tyrychtr [Tue, 1 Nov 2022 15:54:54 +0000 (16:54 +0100)]
popupMenu: Allow to use the up and down arrows to wrap around

This aligns the keyboard navigation behavior with similar menus in
other desktop environments and with GTK itself.

It allows the users to move in the menu using already known patterns
and makes the operation quicker in some cases, especially as many
users don't know about the tab and shift+tab behavior.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6017

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2525>

3 years agopanel: Switch workspaces when scrolling over activities
Florian Müllner [Sun, 20 Aug 2023 19:38:37 +0000 (21:38 +0200)]
panel: Switch workspaces when scrolling over activities

The activities button now shows workspace indicators instead
of a label. Adding the ability to switch workspaces without
entering the overview seems like a logical extension.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6928

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2933>

3 years agoci: Bump mutter image
Florian Müllner [Fri, 1 Sep 2023 14:47:22 +0000 (16:47 +0200)]
ci: Bump mutter image

Mutter bumped its libei requirement.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2934>

3 years agodoc: Add looking glass documentation
Florian Müllner [Thu, 31 Aug 2023 23:40:36 +0000 (01:40 +0200)]
doc: Add looking glass documentation

Looking glass is not just helpful for development, but also when
asking users to provide relevant information.

Having it in-tree makes it easy to reference, and ensures that
the documentation is still in a maintained place when plans to
retire the wiki go head.

The content is based on the [wiki-page] with updated code samples,
small sections on added features, and outdated references removed
(anyone remember project looking glass?).

[wiki-page]: https://wiki.gnome.org/Projects/GnomeShell/LookingGlass

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2932>

3 years agostatus/bluetooth: Show immediate feedback on toggle
Florian Müllner [Mon, 22 Aug 2022 22:06:42 +0000 (00:06 +0200)]
status/bluetooth: Show immediate feedback on toggle

Since commit 6a23e8ee0f4, we use the adapter state (that includes
transitional state) to indicate progress when a state change takes
a long time.

However on many systems, the delay happens on the rfkill side,
before a change request even reaches the adapter.

Address this by temporarily overriding the adapter-state with the
expected transitional state, until an actual adapter state change
occurs.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5773

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2815>

3 years agostatus/bluetooth: Only show when rfkill is available
Florian Müllner [Wed, 30 Aug 2023 21:56:30 +0000 (23:56 +0200)]
status/bluetooth: Only show when rfkill is available

We currently show the bluetooth toggle when Bluetooth can be
toggled via rfkill, or when there is a powered adapter.

While the latter condition is obvious - if there is a working
Bluetooth adapter, then Bluetooth is available - it does impose
a problem: We rely on rfkill for turning Bluetooth off, so if
rfkill is missing, the toggle is stuck.

We could handle that case and power off the adapter ourselves
when necessary, but then the toggle would just disappear when
turned off.

Instead, only show the toggle when rfkill is available, so we
can assume that turning Bluetooth on and off will work.

This is also consistent with Settings, which shows Bluetooth
as unavailable in this case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2815>